# 10.请尽可能的详细的描述你对于python面向对象的掌握情况(前两天的知识)，包括概念和语法(写详细,可以以案例的方式)。（40分）
# TODO 定义类
# class Nature:
#     def __init__(self):
#         pass


# 子类重写父类的属性和方法
# 定义商品类
class Goods:
    def __init__(self):
        self.name = '商品'

    def __str__(self):
        return self.name

    def fn(self):
        print('商品类')


# 定义手机类
class Phone(Goods):
    # 重写init方法
    def __init__(self):
        self.name = '手机'

    def fn(self):
        print('手机')


# 调用
p1 = Phone()  # p1.name =  '商品'
p1.fn()


# 子类调用父类的属性和方法
# 定义商品类
class Goods:
    def __init__(self, name, price):
        self.name = name
        self.price = price


# 定义手机类
class Phone(Goods):
    # phone的对象属性: name price(单价) capacity(容量) size(尺寸)
    def __init__(self,name, price, capacity, size):
        # 子类调用父类的方法
        super().__init__(name, price)   # name price
        self.capacity = capacity
        self.size = size


p1 = Phone('xiaomi', 1999, '100G', '7')
print(p1.name)
print(p1.price)
print(p1.capacity)
print(p1.size)